package com.demo.java.OD101_150.OD110;

import java.math.BigInteger;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【新工号系统】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145696533
 */
public class OdMain {
    public static void main(String[] args) {
        try {
            Scanner scan = new Scanner(System.in);  // 创建 Scanner 对象，用于读取输入
            String inutValue = scan.nextLine();    // 读取输入的一行字符串
            String[] strs = inutValue.split(" ");  // 使用空格将输入字符串拆分为字符串数组，获取 x 和 y 的值

            // 解析 x 和 y
            BigInteger x = new BigInteger(strs[0]);  // 将第一个输入值转换为 BigInteger 类型，表示 x
            int y = Integer.parseInt(strs[1]);       // 将第二个输入值转换为 int 类型，表示 y

            // 输入验证
            // 验证 x 是否在有效范围内：x 必须大于 0 且小于等于 10^50
            if (x.compareTo(BigInteger.ZERO) <= 0 || x.compareTo(new BigInteger("10000000000000000000000000000000000000000000000000000")) > 0) {
                System.out.println("input error");  // 如果 x 不在有效范围，输出错误信息并退出
                return;  // 退出程序
            }

            // 验证 y 是否在有效范围内：y 必须是大于 0 且小于等于 5 的整数
            if (y <= 0 || y > 5) {
                System.out.println("input error");  // 如果 y 不在有效范围，输出错误信息并退出
                return;  // 退出程序
            }

            // 计算 26^y
            BigInteger value = BigInteger.valueOf(26).pow(y);  // 计算 26 的 y 次方，得到一个 BigInteger 对象表示 value

            // 如果 x 小于 26^y，输出 1
            if (x.compareTo(value) < 0) {
                System.out.println(1);  // 说明 x 小于 26^y，只需要输出 1
            } else {
                int i = 1;  // 初始化 i 为 1
                BigInteger tenPower = BigInteger.TEN;  // 创建 BigInteger 类型的 10，便于后续计算 10 的幂
                // 循环计算 value * (10^i)，直到 x 小于或等于 value * (10^i)
                while (x.compareTo(value.multiply(tenPower.pow(i))) > 0) {
                    // 如果 x 大于 value * (10^i)，继续增加 i
                    ++i;  // 增加 i
                }
                System.out.println(i);  // 输出最终的 i
            }
        } catch (Exception e) {
            // 如果捕获到任何异常（如输入格式不正确等），输出错误信息
            System.out.println("input error");
        }
    }
}